package com.gitee.service;

import com.gitee.dto.PasswordLoginDTO;
import com.gitee.dto.PhoneLoginDTO;
import com.gitee.dto.SetPasswordDTO;
import com.gitee.entity.User;
import com.gitee.vo.UserVO;

import java.util.List;

public interface UserService {

    /**
     * 获得验证码
     * @param phone 手机号
     * @return 验证码
     */
    String getCode(String phone);

    /**
     * 手机号登录
     */
    UserVO phoneLogin(PhoneLoginDTO phoneLoginDTO);

    /**
     * 密码登录
     */
    UserVO passwordLogin(PasswordLoginDTO passwordLoginDTO);

    /**
     * 修改密码
     */
    void setPassword(SetPasswordDTO setPasswordDTO);

    /**
     * 退出登录
     */
    void loginOut();

    /**
     * 获得用户
     * @param userId 用户id
     */
    User getUser(Integer userId);

    /**
     * 模糊查询用户
     */
    List<User> getUserByName(String name);

    User getUserByPhone(String phone);

    void setUser(User user);
}
